cmake_minimum_required(VERSION 3.8)
project(nx_processor)

set(USE_NX OFF)

if(USE_NX)
  if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
   add_compile_options(-Wall -Wextra -Wpedantic)
  endif()

  # find dependencies
  find_package(ament_cmake_auto REQUIRED)
  find_package(ament_cmake REQUIRED)
  find_package(rclcpp REQUIRED)
  find_package(std_msgs REQUIRED)
  find_package(geometry_msgs REQUIRED)
  find_package(sensor_msgs REQUIRED)
  find_package(nx_messenger REQUIRED)

  ###### the depends needed by XavierNX
  find_package(OpenCV REQUIRED)
  include_directories(${OpenCV_INCLUDE_DIRS})
  set(TensorRT_ROOT /usr/src/tensorrt)
  find_package(CUDA REQUIRED)
  include_directories(
    ${TensorRT_ROOT}/samples/common
    ${CUDA_INCLUDE_DIRS}
    ${TENSORRT_INCLUDE_DIR}
  )
  include_directories(include)
  link_directories(lib/nx_processor)
  ######

  add_executable(nx_processor_node src/nx_processor_node.cpp)
  target_link_libraries(nx_processor_node yolov8  ${OpenCV_LIBS})
  ament_target_dependencies(nx_processor_node rclcpp sensor_msgs nx_messenger)

  if(BUILD_TESTING)
    find_package(ament_lint_auto REQUIRED)
    # the following line skips the linter which checks for copyrights
    # comment the line when a copyright and license is added to all source files
    set(ament_cmake_copyright_FOUND TRUE)
    # the following line skips cpplint (only works in a git repo)
    # comment the line when this package is in a git repo and when
    # a copyright and license is added to all source files
    set(ament_cmake_cpplint_FOUND TRUE)
    ament_lint_auto_find_test_dependencies()
  endif()

  #######################
  #Ceasar: I don`t know how to write install,
  #         but it cause error, so fuck it.

  # 安装launch文件夹下的内容

  # install(DIRECTORY launch/
  #   DESTINATION share/${PROJECT_NAME}/launch
  # )

  # install(TARGETS
  #   nx_processor_node
  #   DESTINATION lib/${PROJECT_NAME}
  # )

  # ament_auto_package(
  #   INSTALL_TO_SHARE
  #   best
  # )
else(USE_NX)


# install(TARGETS

# DESTINATION lib/${PROJECT_NAME}
# )

endif(USE_NX)
